昨天我們已經測試了4這個數字,
但是除了4是閏年以外,
去年(2020年)應該也是閏年,
所以我們再輸入2020這個數字,
看看會不會如我們預期的跳錯誤。
我們在MyUnitTest.php裡面加入
public function test_leapyear_check_2020()
{
$response = $this->get('/getLeapYear/2020');
$this->assertSame("閏年", $response->getContent());
}
然後再執行
php vendor/phpunit/phpunit/phpunit tests/Feature/MyFirstUnitTest.php
果然是跳錯誤了,
然後我們再修改web.php
Route::get('/getLeapYear/{id}', function($id) {
if($id % 4 == 0)
return "閏年";
return "平年";
});
然後再執行一次
php vendor/phpunit/phpunit/phpunit tests/Feature/MyFirstUnitTest.php
果然是成功地通過了,
但是我們現在發現一個問題,
如果我們要確定我們所寫的功能是正確的,
可能需要帶入大量的資料,
然後每個資料都要這樣子寫,
那我們的程式會變得又臭又長而且不好維護,
萬一哪天閏年的規則改了,
(這應該不會,但是產品的需求是可能會修改,而且可能常常改)
那我要回來修改這幾十上百個function,
是不是累死人了,
而且很多都是重複的程式碼,
所以我們為了程式的可讀性和好維護,
明天我們就要來進行重構的動作。